#include <iostream>
#include <sys/types.h>
#include <cstring>
#include <unistd.h>
int main()
{
    int pipefd[2];
    pipe(pipefd);
    int rfd = pipefd[0],wfd = pipefd[1];
    pid_t id = fork();
    if(id == 0)
    {
        close(wfd);
        char buf[1024];
        while(true)
        {
            read(rfd,buf,sizeof(buf));
            printf("%s\n",buf);
        }
    }
    else
    {
        close(rfd);
        int num=0;
        char s[]="i am father";
        while(true)
        {
            write(wfd,s,sizeof(s));
            num++;
            sleep(1);
        }
    }
    return 0;
}
// #include <iostream>
// #include <sys/types.h>
// #include <unistd.h>
// int main()
// {
//     int pipefd[2];
//     pipe(pipefd);
//     int rfd = pipefd[0],wfd = pipefd[1];
//     pid_t id = fork();
//     if(id == 0)
//     {
//         close(wfd);
//         char k=0;
//         while(true)
//         {
//             sleep(3);
//             read(rfd,&k,sizeof(k));
//         }
//     }
//     else
//     {
//         close(rfd);
//         char c='a';
//         int num=0;
//         while(true)
//         {
//             write(wfd,&c,sizeof(c));
//             printf("%d\n",++num);
//         }
//     }
//     return 0;
// }